The present invention relates to a service node for providing services in a switched telecommunications system.
As used herein, the term xe2x80x9cswitched telecommunication systemxe2x80x9d means a system comprising a bearer network with switches for setting up a bearer channel through the network. The term xe2x80x9cswitched telecommunication systemxe2x80x9d is to be taken to include not only the existing public and private telephone systems (whether using analogue phones or ISDN-based), but also broadband (ATM) and other switch-based bearer networks that are currently being implemented or may emerge in the future. For convenience, the term xe2x80x9cswitched telecommunication systemxe2x80x9d is sometimes shortened herein to telecommunication system.
Reference to a xe2x80x9ccallxe2x80x9d in the context of a switched telecommunication system is to be understood as meaning a communication through a bearer channel set up across the bearer network, whilst references to call setup, maintenance and takedown are to be taken to mean the processes of setting up, maintaining and taking down a bearer channel through the bearer network. Terms such as xe2x80x9ccall processingxe2x80x9d and xe2x80x9ccall handlingxe2x80x9d are to be similarly interpreted.
The term xe2x80x9ccommunication systemxe2x80x9d when used herein should be understood as having a broader meaning than switched telecommunication system, and is intended to include datagram-based communication systems where each data packet is independently routed through a bearer network without following a predetermined bearer channel.
Telecommunication companies running PSTNs (Public Switched Telephone Networks) and PLMNs (Public Land Mobile Networks) are in the business of providing communication services and in doing so are providing increasing built-in intelligence in the form of xe2x80x9cIN servicesxe2x80x9d such as 800 number services and call forwarding. In contrast, the World Wide Web (WWW), which has seen explosive growth in recent times, is an example of an Internet-based global network providing complex information services. These two worlds, that of the large communications utilities and that of the highly dynamic, pioneer-spirit WWW information culture, are uneasy companions and each plans to encroach on the domain previously occupied by the others; thus telephony services will be offered over the WWW and information services over the public communication infrastructure.
The present invention proposes technologies for a more synergetic relationship between these two worlds than is currently envisaged and in order to place the present invention in context, a review will first be given of each of these two worlds.
Telephone Networks with IN Services
The Basic PSTN.
The basic service provided by a PSTN (Public Switched Telephone Network) is the interconnection of two telephones (that is, setting up a bearer channel between the telephones) according to a called-party telephone number input at the calling-party telephone. FIG. 1 is a simplified representation of a PSTN providing such a service. In particular, customer premises equipment, CPE, 10 (such as standard analogue telephones, but also more recently ISDN terminals) are connected through an access network 11 to switching points, SPs 12. The SPs 12 form nodes in an inter-exchange network 13 made up of interconnecting trunks 14 and SPs that are controlled by control entities 15 in the SPs. The control effected by the control entities 15 is determined by signalling inputs received from the CPEs and other SPs, and involves call setup, maintenance and clearance to provide the desired bearer channel between calling CPE and called CPE. Conceptually, the PSTN may be thought of as a bearer network and a control (signalling) network, the function of the latter being to effect call control through the bearer network, namely the control of setup, maintenance and take down of bearer channels through the bearer network; in practice, the bearer and signalling networks may use the same physical circuits and even the same logical channels.
Thus, where the CPE is a traditional dumb telephone, control signalling between the CPE and its local SP is in-band signalling, that is, the signalling is carried on the same channel as used for voice; this signalling is interpreted and converted at the SPs 12 into signalling between SPs that uses a dedicated common-channel signalling network 16 (implemented nowadays using the SS7 protocol suite). Where the CPE is an ISDN terminal, signalling is carried in a separate channel directly from the CPE on an end-to-end. Modern SPs use the ISUP (ISDN User Part) SS7 protocol for inter-exchange call control signalling whether the CPE is a standard telephone or an ISDN terminal.
Intelligent Networks.
In addition to basic call handling, an SP may also serve to provide what are called IN (Intelligent Network) services; in this case the SP is termed a service switching point, SSP. An SSP 25 is arranged to suspend call processing at defined points-in-call upon particular criteria being met, and to delegate the continuation of call processing to a service control subsystem providing a service control function (SCF) either in the form of a service control point, SCP 17 (see FIG. 2) or an Adjunct 18. The Adjunct 18 is directly associated with an SSP 25 whilst the SCP 17 and SSP 25 communicate with each other via an extended common channel signalling (CCS) network 16 that may include signal transfer points (STP) 19. The SCP 17 may be associated with more than one SSP 25. Both the SCP 17 and Adjunct 18 provide a service logic execution environment (SLEE) 20 in which instances of one or more service logic programs (SLP) 21 can execute. The SLEE 20 and SLP 21 together provide service control functionality for providing services to the SSP 25.
Service logic running in an SCP or Adjunct will generally make use of subscriber information stored in a service data function (SDF) 22 that may be integral with the SCP/Adjunct or partially or wholly separate therefrom. The service data function (SDF), like the service control function (SCF) forms part of the service control subsystem of the PSTN. It may be noted that some or all of the service control function may be built into the PSTN switches themselves.
In operation, when the SSP 25 receives a call, it examines internal trigger conditions and, possibly, user information (eg dialled digits) to ascertain if the call requires a service to be provided by the service control subsystem 17, 18; the checking of trigger conditions may be carried out at several different points in call processing. Where the SSP 25 determines that a service is required it messages the service control subsystem (either SCP 17 or Adjunct 18) requesting the desired service and sending it a logic representation of the call in terms of its connectivity and call processing status. The service control subsystem then provides the requested service and this may involve either a single interaction between the SSP and service control subsystem or a session of interactions. A typical service is call forwarding which is a called-party service giving expression to an end-user requirement as simple as xe2x80x9cif you call me on number X and it rings ten times, try calling number Yxe2x80x9d. In this case, it is the SSP local to the called end-user that triggers its associated SCP (or Adjunct) to provide this service; it will, of course, be appreciated that the SSP must be primed to know that the service is to be provided for a called number X.
In addition to the SCP 17 and Adjunct 18, the FIG. 2 network includes an intelligent peripheral (IP) 23 that has bearer-channel connectivity to one or more SSPs 25. The IP 23 provides resources needed to exchange information with an end user, such as voice announcements and DTMF digit collection capabilities (this type of non-signalling information intended to be passed over a bearer-channel to/from the end user is referred to below generally as xe2x80x9ccontentxe2x80x9d). These IP resources are managed and controlled by a resource control execution environment (RCEE) 26 of the IP 23 in response to input received from an SSP 25. Such input may result, for example, from the service control subsystem (SCP 17, Adjunct 18), during execution of an SLP 21, requiring a voice announcement to be played to an end user; in this case the service control subsystem passes this requirement to the SSP concerned which sets up a bearer channel to the IP 23 and commands the IP to play the required announcement. It is also possible to arrange for the service control subsystem to communicate directly over the CCS network with an IP rather than going through an SSP 25.
IP functionality and resources may also be provided within a service node (SN) 27 which like an IP has bearer-channel connectivity to an SSP; however, an SN additionally includes a service node execution environment (SNEE) 28, similar to SLEE 20, for running service logic programs. An SN can thus provide a range of services virtually autonomously once an SSP has switched through a call to the SN; in particular, an SN is apt to provide services such as voice mail, automated attendant and fax server, all of which require substantial transfer of content to/from an end user. The IP functionality and resources of an SN are generally not under the exclusive control of the SNEE of the SN but can be used by remote SLEEs. To the extent that an SN can execute specific types of SLPs, it forms part of the service control subsystem of the network.
The network will also include an operation system (not shown) that has a general view of the network and its services and performs functions such as network monitoring and control.
The above-described model for the provision of IN services in a PSTN can also be mapped onto PLMNs (Public Land Mobile Networks) such as GSM and other mobile networks. Control signalling in the case of a mobile subscriber is more complex because in addition to all the usual signalling requirements, there is also a need to establish where a call to a mobile subscriber should be routed; however, this is not a very different problem from a number of called-party IN services in the PSTN. Thus in GSM, the service data function (SDF) is largely located in a system named a Home Location Register (HLR) and the service control function in a system named a Visitor Location Register (VLR) that is generally associated on a one-to-one basis with each SSP (which in GSM terminology is called a Mobile Switching Centre, MSC).
Because subscribers are mobile, the subscriber profile is transported from the HLR to whichever VLR happens to be functionally closest to be mobile subscriber, and from there the VLR operates the (fixed) service using the subscriber profile and interacts with the SSP. The HLR and VLR thus constitute a service control subsystem similar to an SCP or Adjunct with their associated databases.
It is, of course, also possible to provide IN services in private telephone systems and, in this case, the service control function and service data function are generally either integrated into a PABX (Private Automatic Branch Exchange) or provided by a local computer. The service control subsystem, whilst present, may thus not be a physically distinct from the PABX.
The above-described general architectural framework for providing IN services has both strengths and flaws. Its main strength is that it works and many services have been successfully deployed, such as 800 number services, credit card calling, voicemail, and various call waiting and redirection services. However, despite years of standardisation, services are still implemented one-at-a-time on proprietary platforms and do not scale well. The approach has been based on large, fault-tolerant systems which provide services for hundreds of thousands or even millions of subscribers and take years to deploy. Furthermore, since the networks used to support these services also constitute the basic telephone infrastructure, anything attached to these networks must be rigorously vetted. Additionally, each country and operator tends to have local variations of the so-called standards making it difficult to supply standard products and thereby braking the dynamics of competition.
The World Wide Web
In contrast to the slow deliberate progress of the telephone infrastructure, the WWW has grown explosively from its inception in 1989 to become the primary electronic information distribution service in terms of spread, availability and richness of information content. Anyone can, for a modest outlay, become an information provider with a world-wide audience in a highly interconnected information architecture.
The WWW is a client-server application running over the Internet and using a client-server protocol which mandates only the simplest of exchanges between client and server. This protocol is HTTP (Hyper Text Transfer Protocol) which is optimised for use over TCP/IP networks such as the Internet; the HTTP protocol can, however, also be used over networks using different communication protocol stacks.
Since the availability of literature concerning the WWW has seen the same sort of growth as the WWW itself, a detailed description of the WWW, HTTP and the Internet will not be given herein. An outline description will, however, be given with attention being paid to certain features of relevance to the present invention.
The WWW uses the Internet for interconnectivity. Internet is a system that connects together networks on a worldwide basis. Internet is based on the TCP/IP protocol suite and provides connectivity to networks that also use TCP/IP. For an entity to have a presence on the Internet, it needs both access to a network connected to the Internet and an IP address. IP addresses are hierarchically structured. Generally an entity will be identified at the user level by a name that can be resolved into the corresponding IP address by the Domain Name System (DNS) of the Internet.
Operation of the WWW
Referring now to FIG. 3 of the accompanying drawings, access to the Internet 30 may be by direct connection to a network that is itself directly or indirectly connected to the Internet; such an arrangement is represented by terminal 31 in FIG. 3 (this terminal may, for example, be a Unix workstation or a PC). Having a connection to the Internet of this form is known as having xe2x80x98network accessxe2x80x99. Any entity that has network access to the Internet may act as a server on the Internet provided it has sufficient associated functionality; in FIG. 3, entity 32 with file store 37 acts as a server.
Many users of the WWW do not have network access to the Internet but instead access the Internet via an Internet service provider, ISP, 33 that does have network access. In this case, the user terminal 34 will generally communicate with the ISP 33 over the public telephone system using a modem and employing either SLIP (Serial Line Interface Protocol) or PPP (Point-to-Point Protocol). These protocols allow Internet packets to traverse ordinary telephone lines. Access to the Internet of this form is known as xe2x80x9cdialup IPxe2x80x9d access. With this access method, the user terminal 34 is temporarily allocated an IP address during each user session; however, since this IP address may differ between sessions, it is not practical for the entity 34 to act as a server.
A cornerstone of the WWW is its ability to address particular information resources by means of an Uniform Resource Identifier (URI) that will generally be either a Uniform Resource Locator (URL) that identifies a resource by location, or a Uniform Resource Name (URN) that can be resolved into an URL. By way of example, a full or xe2x80x9cabsolutexe2x80x9d URL will comprise the following elements:
schemexe2x80x94this is the access scheme to be used to access the resource of interest;
hostxe2x80x94the Internet host domain name or IP address;
portxe2x80x94the host port for the (TCP) connection;
abs-pathxe2x80x94the absolute path of the resource on the host.
In fact, the xe2x80x98portxe2x80x99 may be omitted in which case port 80 is assumed.
FIG. 4 of the accompanying drawings shows an example URL for the Hewlett-Packard products welcome page. In this case, the elements are:
schemexe2x80x94http
hostxe2x80x94www.hp.com
portxe2x80x94omitted (port 80 assumed)
abs-pathxe2x80x94Products.html
The HTTP protocol is based on a request/response paradigm. Referring again to FIG. 3 of the drawings, given a particular URI identifying a resource 30 to be accessed, a client establishes a connection with the server 31 corresponding to the xe2x80x9chostxe2x80x9d element of the URI and sends a request to the server. This request includes a request method, and the xe2x80x9cRequest-URIxe2x80x9d (which is generally just the absolute path of the resource on the server as identified by the xe2x80x9cabs-pathxe2x80x9d element of the URI); the request may include additional data elements. The server 31 then accesses the resource 36 (here held on storage 37) and responds and this response may include an entity of a type identified by a MIME (Multipurpose Internet Mail Extensions) type also included in the response.
The two main request methods are: p1 GETxe2x80x94This method results in the retrieval of whatever information (in the form of an entity) is identified by the Request-URI. It is important to note that if the Request-URI refers to a data-producing process, it is the produced data which is returned as the entity in the response and not the source text of the process.
POSTxe2x80x94This method is used to request that the destination server accept the entity enclosed in the request as a new subordinate of the resource identified by the Request-URI. The POST method can be used for annotation of existing resources, providing a message to a bulletin board, providing data to a data-handling process (for example, data produced as the result of submitting a form), and extending a database through an append operation.
In summary, the GET method can be used to directly retrieve data, or to trigger any process that will return an entity (which may either be data or a simply an indication of the result of running the process). The POST method is used for registering data and specifying this method is also effective to trigger a process in the server to handle the posted data appropriately.
The passing of information to a process triggered to run on a server using either the GET or POST method is currently done according to an interface called the Common Gateway Interface (CGI). The receiving process is often written in a scripting language though this is not essential. Typically, the triggered server script is used for interfacing to a database to service a query included in a GET request. Another use, already referred to, is to append data associated with a POST request to a database.
Other important factors in the success of the WWW is the use of the HyperText Markup Language (HTML) for representing the makeup of documents transferred over the WWW, and the availability of powerful graphical Web browsers, such as Netscape and Mosaic, for interpreting such documents in a client terminal to present them to a user. Basically, HTML is used to identify each part of a document, such as a title, or a graphic, and it is then up to the browser running in the client terminal to decide how to display each document part. However, HTML is more than thisxe2x80x94it also enables a URI and a request method to be associated with any element of a document (such as a particular word or an image) so that when a user points to and clicks on that element, the resource identified by the URI is accessed according to the scheme (protocol) and request method specified. This arrangement provides a hyperlink from one document to another. Using such hyperlinks, a user at a client terminal can skip effortlessly from one document downloaded from a server on one side of the world, to another document located on a server on the other side of the world. Since a document created by one author may include a hyperlink to a document created by another, an extremely powerful document cross-referring system results with no central bureaucratic control.
Hyperlinks are not the only intelligence that can be built into an HTML document. Another powerful feature is the ability to fill in a downloaded xe2x80x9cFormxe2x80x9d document on screen and then activate a xe2x80x98commitxe2x80x99 graphical button in order to have the entered information passed to a resource (such as a database) designed to collect such information. This is achieved by associating the POST request method with the xe2x80x98commitxe2x80x99 button together with the URI of the database resource; activating the xe2x80x98commitxe2x80x99 button results in the entered information being posted to the identified resource where it is appropriately handled.
Another powerful possibility is the association of program code (generally scripts to be interpreted) with particular documents elements, such as graphical buttons, this code being executed upon the button being activated. This opens up the possibility of users downloading program code from a resource and then running the code.
It will be appreciated by persons skilled in the art that HTML is only one of several currently available scripting languages delivering the functionality outlined above and it may be expected that any serious Web browser will have built-in support for multiple scripting languages. For example, Netscape 2.0 supports HTML 3.0, Java and LiveScript (the latter being Netscape proprietary scripting Language).
The importance of the role of the graphical Web browser itself should not be overlooked. As well as the ability to support multiple scripting languages, a Web browser should provide built-in support for standard media types, and the ability to load and execute programs in the client, amongst other features. These browsers may be viewed as operating systems for WWW interaction.
WWW and the Telephone Network
It is possible to provide a telephony service over the Internet between connected terminals by digitising voice input and sending it over the Internet in discrete packets for reassembly at the receiving terminal. This is an example of a communication service on the Internet. Conversely, it is possible to point to a variety of information services provided over the telephone system, such as the Minitel system widely available in France. However, these encroachments into each anothers traditional territories pose no real threat to either the Internet or the public telephone system.
Of more interest are areas of cooperative use of the Internet and the telephone system. In fact, one such area has existed for some considerable time and has been outlined above with reference to FIG. 4, namely the use of a modem link over the PSTN from a user computer 34 to an Internet service provider 33 in order to obtain dialup IP access to the Internet. This cooperative use is of a very simple nature, namely the setting up of a bearer channel over the PSTN for subsequently generated Internet traffic; there is no true interaction between the Internet and the PSTN.
Another known example of the cooperative use of the Internet and PSTN is a recently launched service by which an Internet user with a sound card in his/her terminal computer can make a voice call to a standard telephone anywhere in the world. This is achieved by transferring digitised voice over the Internet to a service provider near the destination telephone; this service provider then connects into the local PSTN to access the desired phone and transfers across into the local PSTN the voice traffic received over the Internet. Voice input from the called telephone is handled in the reverse manner. Key to this service is the ability to identify the service provider local (in telephony charging terms) to the destination phone. This arrangement, whilst offering the prospect of competition for the telecom operators for long distance calls, is again a simple chaining together of the Internet and PSTN. It may, however, be noted that in this case it is necessary to provide at least a minimum of feedback to the Internet calling party on the progress of call set to the destination telephone over the PSTN local to that telephone; this feedback need only be in terms of whether or not the call has succeeded.
A more synergistic relationship between the PSTN and WWW worlds is achieved by the arrangement described in the following Patent Applications assigned to the same assignee and incorporated herein by reference:
PCT/GB96/03048 filed Dec. 11, 1996 xe2x80x9cMethod of providing telecommunication servicesxe2x80x9d Corresponding U.S. application (National Stage) Ser. No. 09/077,509 (Granted as U.S. Pat. No. 6,282,281)
PCT/GB96/03049 filed Dec. 11, 1996 xe2x80x9cCall setup gateway for telecommunications systemxe2x80x9d Corresponding U.S. application (National Stage) Ser. No. 09/091,065
PCT/GB96/03051 filed Dec. 11, 1996 xe2x80x9cMethod of providing telecommunication servicesxe2x80x9d Corresponding U.S. application (National Stage) Ser. No. 09/077,911 (Granted as U.S. Pat. No. 6,246,758)
PCT/GB96/03054 filed Dec. 11, 1996 xe2x80x9cMethod of accessing a target entity over a communications networkxe2x80x9d Corresponding U.S. application (National Stage) Ser. No. 09/091,061 (Granted as U.S. Pat. No. 6,131,095)
PCT/GB96/03055 filed Dec. 11, 1996 xe2x80x9cMethod of accessing service resource items that are for use in a telecommunications systemxe2x80x9d Corresponding U.S. application (National Stage) Ser. No. 09/077,795 (Granted as U.S. Pat. No. 6,466,570)
These applications are hereinafter as the xe2x80x9caforementioned Patent Applicationsxe2x80x9d.
The arrangement described in the aforementioned Patent Applications is illustrated in outline in FIG. 5 of the accompanying drawings and involves the provision of so-called xe2x80x9cservice resource itemsxe2x80x9d on WWW servers 40 on xe2x80x9cphonexe2x80x9d web pages 41 of telephone users (such as user B). These service resource items have been specified by the phone page owner B (typically using a webclient computer 42) to provide one or more customised services in the PSTN for user B. For example, if user B subscribes to an alternative-number service that is triggered to try an alternative number for B if there is no reply from B""s main number, then the alternative number may be stored on B""s phone page as the customised service resource item for that service. Now if during call setup of, for example, a call from user A to user B, there is no reply from B""s main number, a service request for the alternative number service will be generated by an SSP 44 of the PSTN and passed to SCP 45. SCP 45 acts as a gateway to the WWW and upon receiving the alternative-number service request for B, SCP 45 reaches out over the WWW to retrieve the alternative number to be tried from B""s phone page. Thereafter, SCP 45 instructs the SSP 44 to try this alternative number. The advantage of this arrangement is that B can readily change his alternative number stored on phone page 41. The foregoing example is a fairly simple one and a much greater degree of customisation can be achieved where the retrieved service resource item is service logic to be run by the SCP to provide a desired service.
In order for SCP 45 to be able to retrieve the appropriate service resource item for a particular service, the resource item must be identified uniquely by a code; this code will typically include the telephone number of the called or calling party (depending whether the service is a called or calling party service), possibly together with other parameters such as the point-in-call where the service request was triggered. The service resource code is translated by the SCP 45 into the URI of the phone page holding the desired resource thereby enabling retrieval of the desired service resource item. Details of how service resource codes are constructed and converted into URIs are to be found in the aforesaid Patent Applications together with details regarding provisioning of the server 40 with resource items.
The aforesaid Patent Applications are primarily concerned with the accessing of service control logic and data over the WWW for use in call setup/takedown. Very little is said about the passing of information (content) to a telephone user, either to assist in the process of service provision or otherwise, and it is an object of the present invention to provide for greater flexibility in service provision by enabling non-standard content and logic to be used together.
According to one aspect of the present invention, there is provided a service node for providing services in a telecommunications system that includes a bearer network for transmitting content between users, said service node comprising:
receiving means for receiving and temporarily storing service logic programs and associated content that are normally held remote from the service node;
first control means responsive to an indication that a particular service associated with a particular user at least may soon be requested, to cause said receiving means to receive and store a particular said service logic program corresponding to said particular service;
execution means for executing service logic programs;
second control means responsive to a service request for said particular service, to cause the corresponding said particular logic program, received and stored by said receiving means, to be executed by said execution means; and
bearer-network transmit means operable under control of a said particular service logic program executing on said execution means, to deliver to said bearer network said content received by said receiving means which is associated with said particular service logic program.
Preferably, the service node includes a computer-network interface for connection to a computer network that is generally accessible to the users of the telecommunications system but is logically distinct from the latter, the receiving means being operative to receive said service logic programs and content through said computer-network interface.
It is to be understood that reference in the foregoing to the computer network being logically distinct from the telecommunications system is not to be taken to imply that there is physical separation of the twoxe2x80x94indeed, there will frequently be joint use of the same physical infrastructure. Furthermore, not only may bearer channels set up in the telecommunications system share the same transmission medium as the computer network, but such a bearer channel may act as a pipe for traffic across the computer network. As regards the computer network being generally accessible to users of the telecommunications system, this should not be construed that all users of the telecommunications system have such access or can get such access; rather, it should be understood as meaning that a significant proportion of these users have or can obtain access to the computer network. The intention is to exclude computer networks that are dedicated to the management or monitoring of the bearer network and effectively form part of the telecommunications system itself.
By way of example, in one case the computer network generally accessible to users of the telecommunications system but logically distinct from it, may be the Internet and the telecommunications system may be a public telephone system (PSTN or PLMN). In another case, the telecommunication system may be a private system including a PABX, and the computer network may be an intranet.
According to another aspect of the present invention, there is provided a method of providing services in a telecommunications system that includes a bearer network and a node providing a service execution environment for running service logic programs; said method involving uploading a service logic program over the bearer network from a user device for temporary storage and execution in said node. This uploading may be effected at the time the service logic program is required (in which case the program is executed when received), or else the uploading is done on a pre-emptive basis in response to an indication that the program may soon be needed.
According to a further aspect of the present invention, there is provided a method of providing services in a telecommunications system that includes a bearer network and a node providing a service execution environment for running service logic programs; said method involving transferring a service logic program to said node for temporary storage in response to an indication that said program may soon be required, and thereafter executing said program in said node when a service request invoking that program is received by that node. This indication is, for example, an indication that a user having a right to the service provided by the service logic program, has entered the coverage area of the node.
According to a still further aspect of the present invention, there is provided a method of providing services in a telecommunications system that includes a bearer network and a node providing a service execution environment for running service logic programs; said method involving transferring a service logic program to said node for temporary storage and execution in said node, and following execution of the program at the node in response to a service request invoking that program, retaining said service logic program at the node for no longer than a predetermined period, receipt at said node of a further service request for that program whilst it is still retained at the node, resulting in the re-execution of the program.
According to a yet further aspect of the present invention, there is provided a method of providing services in a telecommunications system that includes a bearer network and a node providing a service execution environment for running service logic programs; said method involving controlling a requested service by transferring multiple service logic programs from different sources to the node and executing these programs, said programs interacting with each other to provide said service. Said multiple service logic programs may, for example, comprise an applet provided by a calling party and another applet provided by a called party.
In the last preceding four statements of invention, the node provided with a service execution environment is, for example, an SCP, Adjunct, or Service Node in the case where the telephone system is a PSTN.